// 按字节截取字符串
var sliceStringAccordingToByte = function ( string, byteNum ) {
  if ( isNaN( Number( byteNum ) ) ) {
    console.log( '请传入正确的参数' );
    return string;
  };
  string = string.toString( );
  var maxlength = Number( byteNum );
  var length = string.replace( /[^\x00-\xff]/g, '**' ).length;
  var num = 0;
  var sliceStr = '';
  for ( var i = 0; i < string.length; i++ ) {
    var addnum = 0;
    if ( /[^\x00-\xff]/g.test( string[ i ] ) ) {
      addnum = 2;
    } else {
      addnum = 1;
    };
    if ( num + addnum > maxlength ) {
      sliceStr = string.slice( 0, i ) + '....';
      break;
    } else {
      num += addnum;
    };
  };
  return sliceStr;
};
// 截取url地址search或者hash 转化成JSON 改进版
var sliceUrlConvertToJSON = function(string) {
  var json = {};
  var arr = string.split('&');
  for (var i = 0; i < arr.length; i++) {
    var item = [];

    // 使用查找第一个=位置进行分组，取代split分组。避免传递的数值中带有=带来的问题
    var splitNum = arr[i].indexOf('=');

    // key的大小统一转化为小写便于使用，但是value就不要进行转化，否则会出问题
    var key = arr[i].slice(0, splitNum).toLowerCase();
    var value = arr[i].slice(splitNum+1);
    json[key] = value;
  };
  return json;
};
// 转成以万为单位，保留小数后2位
var unitTransform = function(value,length) {
  if (isNaN(value)) {
    return value;
  };
  var number = Number(value);
  if (number / 10000 > 1) {
    return  length?(number / 10000).toFixed(length)+'万':(number / 10000).toFixed(2) +'万';
  } else {
    return value;
  };
};